feat: remove the experiment flag for the sandbox commands and add new partner template IDs#512
feat: remove the experiment flag for the sandbox commands and add new partner template IDs#512
sandbox commands and add new partner template IDs#512Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #512 +/- ##
==========================================
- Coverage 71.27% 71.22% -0.05%
==========================================
Files 222 222
Lines 18682 18665 -17
==========================================
- Hits 13316 13295 -21
- Misses 4187 4189 +2
- Partials 1179 1181 +2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
At line 80 there was a recommendation to use charm for the 'Choose a Slack team where your email address matches...' info message; is charm stable yet, such that we can make that change?
There was a problem hiding this comment.
Huh (Charm) is now the default and only prompt library. So, if you're using a prompt then you're now using Charm's Huh :)
There was a problem hiding this comment.
yea perhaps we get rid of that comment?
There was a problem hiding this comment.
Ah, gotcha :) Updated to use the 'Help' config for the prompt instead of a separate log statement
| "it-incident-management": 4, | ||
| "customer-support": 5, | ||
| "sales": 6, | ||
| "marketing": 7, |
There was a problem hiding this comment.
This PR also adds mappings for the new partner templates
There was a problem hiding this comment.
Thanks @vegeris. In the future, it would be better for this to be a separate PR so that it can stand out in the GitHub Release Notes and Changelog.
suggestion: Can you please update the Changelog section of this PR Description so that the documentation team knows to document it on docs.slack.dev.
There was a problem hiding this comment.
suggestion: @vegeris Can you please add these to the Long Description so that developers can discover the partner template Ids that are available to use?
There was a problem hiding this comment.
I wasn't sure if we would want to highlight it in the Long Description as the grand majority of users would be regular non-partner developers; for the list command for example, we only add the 'sandbox type' label to partner sandboxes to reduce visual noise for regular sandboxes
document it on docs.slack.dev
Speaking of, I'd like to double check the process for getting new commands documented. My current assumption was that we would have a brief announcement in the Changelog through this PR and that once these changes are included in a release, that I would post in #api-docs to get the commands documented on docs.slack.dev?
There was a problem hiding this comment.
Also, if there's a strong preference I can apply the changes unrelated to removing the experiment flag first and then come back to this PR
There was a problem hiding this comment.
process for getting new commands documented
@vegeris The changelog included in the PR description might be alright to find this with next release! But let's keep watch of the published release! Reference should be generated automatic FWIW.
Perhaps now we can also update the experiments page to note the conclusion?
🔗 https://docs.slack.dev/tools/slack-cli/reference/experiments
There was a problem hiding this comment.
👾 ramble: I might also agree with separate PRs for future changes to make review more "obvious" for me with a single focused mind but I understand this now 🌚
There was a problem hiding this comment.
I wasn't sure if we would want to highlight it in the Long Description as the grand majority of users would be regular non-partner developers
I feel we under utilitize the Long Description at the moment. We should feel comfortable documenting commands at length in the Long Description. After all, it's only shown when a developer wants to learn about that command, specifically. It's also generated into a webpage on docs.slack.dev.
All of that is to say, feel free to go full essay in a Long Description.
There was a problem hiding this comment.
My current assumption was that we would have a brief announcement in the Changelog through this PR and that once these changes are included in a release, that I would post in #api-docs to get the commands documented on docs.slack.dev?
Yep, this is a good approach. Typically, the docs team is good at adding documentating while reviewing our releases changelog. However, a post in #api-docs will give them an earlier heads up.
All help docs are generated into references pages, automatically. But the docs team may decide to create dedicated guides for sandbox management.
sandbox commandssandbox commands
mwbrooks
left a comment
There was a problem hiding this comment.
🙏🏻 Thanks for removing the experiment @vegeris
✏️ I've left a few change request suggestions. In the future, I'd encourage the PR to only remove the experiment and add other additions in separate PRs. It allows both the documentation team to spot changes easier and our GitHub Release Notes (based on PR titles) to communicate the changes to our developers.
| "it-incident-management": 4, | ||
| "customer-support": 5, | ||
| "sales": 6, | ||
| "marketing": 7, |
There was a problem hiding this comment.
Thanks @vegeris. In the future, it would be better for this to be a separate PR so that it can stand out in the GitHub Release Notes and Changelog.
suggestion: Can you please update the Changelog section of this PR Description so that the documentation team knows to document it on docs.slack.dev.
| "it-incident-management": 4, | ||
| "customer-support": 5, | ||
| "sales": 6, | ||
| "marketing": 7, |
There was a problem hiding this comment.
suggestion: @vegeris Can you please add these to the Long Description so that developers can discover the partner template Ids that are available to use?
There was a problem hiding this comment.
Huh (Charm) is now the default and only prompt library. So, if you're using a prompt then you're now using Charm's Huh :)
| ErrDotEnvFileRead = "dotenv_file_read_error" | ||
| ErrDotEnvFileWrite = "dotenv_file_write_error" | ||
| ErrDotEnvVarMarshal = "dotenv_var_marshal_error" | ||
| ErrDomainLong = "domain_long" |
There was a problem hiding this comment.
suggestion: Can this please be prefixed with ErrSandboxDomainLong = "sandbox_domain_long" so that we know it's part of the Sandbox error codes. You'll need to reorganize it alphabetically.
There was a problem hiding this comment.
💯 Updated this error code and alphabetized the sandbox error codes added previously!
There was a problem hiding this comment.
🚧 question(non-blocking): Are these error codes from the upstream APIs? I'm hesitant to prefix the error variables with "sandbox" but not the error code.
sandbox commandssandbox commands and add new partner template IDs
There was a problem hiding this comment.
@vegeris So excited this made it to the finish line - superb 🏁
I'm leaving a few comments on changes here because inline comments are not working right now?
- The error codes for
sandbox_already_deletedandpassword_too_shortdon't have messages included with the codes and I'm not sure if that's something for the backend or CLI? - The sandbox
createpassword prompt appears as plain text when I expected it to be hidden?
Otherwise nothing blocking! The above might be intentional or for another PR too. Whenever is best please feel free to merge for this upcoming release! 🔮 ✨
Edit: Oopies looks like comments are truncated too! I will continue this but LGTM 🚢
| ErrDotEnvFileRead = "dotenv_file_read_error" | ||
| ErrDotEnvFileWrite = "dotenv_file_write_error" | ||
| ErrDotEnvVarMarshal = "dotenv_var_marshal_error" | ||
| ErrDomainLong = "domain_long" |
There was a problem hiding this comment.
🚧 question(non-blocking): Are these error codes from the upstream APIs? I'm hesitant to prefix the error variables with "sandbox" but not the error code.
| "it-incident-management": 4, | ||
| "customer-support": 5, | ||
| "sales": 6, | ||
| "marketing": 7, |
There was a problem hiding this comment.
process for getting new commands documented
@vegeris The changelog included in the PR description might be alright to find this with next release! But let's keep watch of the published release! Reference should be generated automatic FWIW.
Perhaps now we can also update the experiments page to note the conclusion?
🔗 https://docs.slack.dev/tools/slack-cli/reference/experiments
| "it-incident-management": 4, | ||
| "customer-support": 5, | ||
| "sales": 6, | ||
| "marketing": 7, |
There was a problem hiding this comment.
👾 ramble: I might also agree with separate PRs for future changes to make review more "obvious" for me with a single focused mind but I understand this now 🌚
mwbrooks
left a comment
There was a problem hiding this comment.
📝 Thanks for the edits @vegeris! 🙇🏻
I've left a few more comments. The largest one is renaming the error codes (go variables and error code strings) to be prefixed with sandboxes, unless they're meant to be used by other areas of the CLI codebase.
🪙 🪙 I think this has been mentioned, but in the future please try to keep PRs focused. This PR should be focused on removing the experiment flag, but it's doing quite a bit more. It makes reviewing the PR difficult and the CHANGELOG will fail to capture what true scope of the PR.
| "it-incident-management": 4, | ||
| "customer-support": 5, | ||
| "sales": 6, | ||
| "marketing": 7, |
There was a problem hiding this comment.
I wasn't sure if we would want to highlight it in the Long Description as the grand majority of users would be regular non-partner developers
I feel we under utilitize the Long Description at the moment. We should feel comfortable documenting commands at length in the Long Description. After all, it's only shown when a developer wants to learn about that command, specifically. It's also generated into a webpage on docs.slack.dev.
All of that is to say, feel free to go full essay in a Long Description.
| "it-incident-management": 4, | ||
| "customer-support": 5, | ||
| "sales": 6, | ||
| "marketing": 7, |
There was a problem hiding this comment.
My current assumption was that we would have a brief announcement in the Changelog through this PR and that once these changes are included in a release, that I would post in #api-docs to get the commands documented on docs.slack.dev?
Yep, this is a good approach. Typically, the docs team is good at adding documentating while reviewing our releases changelog. However, a post in #api-docs will give them an earlier heads up.
All help docs are generated into references pages, automatically. But the docs team may decide to create dedicated guides for sandbox management.
| ErrAppNotHosted = "app_not_hosted" | ||
| ErrAppRemove = "app_remove_error" | ||
| ErrAppRenameApp = "app_rename_app" | ||
| ErrAtActiveSandboxLimit = "at_active_sandbox_limit" |
There was a problem hiding this comment.
suggestion: I'd like to see all of these new error codes prefixed with sandbox, similar to how our other error codes are prefixed with app, auth, etc. While our error codes aren't perfect, we're trying to keep the new ones more organized.
They should also be organized alphabetically after renamed.
For example:
| ErrAtActiveSandboxLimit = "at_active_sandbox_limit" | |
| ErrSandboxAtActiveLimit = "sandbox_at_active_limit" |
Changelog
This is effectively the release of the
sandboxcommands and should be highlighted in the changelog:Details:
When creating a sandbox, users provide a name and domain for the sandbox, and a password for their user in the sandbox. Regular sandboxes can optionally use the 'default' or 'empty' templates. Partner developers can create partner sandboxes, which have some additional templates available to them (eg. 'finance' or 'hr' use cases). [The partner templates were added in this PR]
Users can view their sandboxes with the
listcommand and delete sandboxes with thedeletecommand.Summary
This PR removes the experiment flag currently required to run the sandbox commands
Testing
Instead of:
We can run:
Requirements